<?php
session_start();

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
require '../Classes/Calculos.php';
if(isset($_POST['submit'])){
    
    $n = $_POST['numIncognitas'];
    $a = array();
//    for ($index = 1; $index < $n; $index++) {
//        for($j=1;$j<=$n+1;$j++){
//            $a[$index][$j] = $_POST['coeficiente'.$index];
//        }
//    }
    $a = array();
    $a[1][1] = 1;
    $a[1][2] = 1;
    $a[1][3] = 27;
//    $a[1][4] = ;

    $a[2][1] = 0;
    $a[2][2] = 9;
    $a[2][3] = 189;
//    $a[2][4] = -3;
//
//    $a[3][1] = 5;
//    $a[3][2] = -1;
//    $a[3][3] = -1;
    //$a[3][4] = 4;
  //  gaussJordan(2 , $a);
    $apoyos = array();
array_push($apoyos, 'rodillo');
array_push($apoyos, 'perno');
$resultFuerzas=0;

$posicionApoyo = array();
array_push($posicionApoyo, 0);
array_push($posicionApoyo, 9);


$fuerzas = array();
array_push($fuerzas, '-15');
array_push($fuerzas, '-6');
array_push($fuerzas, '-6');

$posicionFuerza = array();
array_push($posicionFuerza, 3);
array_push($posicionFuerza, 11);
array_push($posicionFuerza, 13);

$tipoFuerza = array();
array_push($tipoFuerza, "distribuida");
array_push($tipoFuerza, "puntual");
array_push($tipoFuerza, "puntual");

$resultFuerzas=0;
//Sumar valores de la fuerza
foreach ($fuerzas as $valueF) {
    $resultFuerzas+=$valueF;
}
$formula1 = '';
$limit= 65 + count($apoyos);
$reacciones = "";

for ($i=65;$i< $limit;$i++) {
    $reacciones.= chr($i);
    if($i == $limit-1){
        $formula1.= chr($i);
    }else
    $formula1.= chr($i) . ' + ';
}
$incognitas = $formula1;
$formula1 .= ' = ' .($resultFuerzas)*-1;

echo 'formula 1 '. $formula1;

$formula2 = 0;
//Sumar valores de la fuerza
for ($i=0;$i<count($fuerzas);$i++){
    //fuerza por distancia
    $formula2 += $fuerzas[$i] * $posicionFuerza[$i];
}

for ($i=0;$i<count($apoyos);$i++){
    //fuerza por distancia
    if($posicionApoyo[$i] == 0){
        continue;
    }
    //r = -189  
    $valueR = $formula2;
    $formula2 .= ' = '. $posicionApoyo[$i] . substr($reacciones, $i, $i);
}

echo '<br> formula 2 '.$formula2;
//A+B = 27
//$formula1 .= ($resultFuerzas)*-1;
//-189 = 9B
// $result = $posicionApoyo[$i] . substr($reacciones, $i, $i)


//crear matriz
//1 1 27
//0 9 189
$f1 = array();
$f2 = array();
array_push($f1, "");
array_push($f2, "");
$incognitas=  explode("+", $incognitas);

foreach ($incognitas as $value) {
    //Si contiene la variable se agrega el valor al array
    $datosFormula = explode(trim($value) , $formula2);
 
    if(count($datosFormula)>1){

        $dato = explode("=",$datosFormula[0]);
         array_push($f2, $dato[1]);
    }
   //Si no la contiene se agrega 0 al array
    else
       array_push($f2, 0);
            
    array_push($f1, 1);
}
array_push($f1, ($resultFuerzas)*-1);
array_push($f2, $valueR*-1);
echo '<br> formula 1';
 print_r($f1);
 echo '<br> formula 2';
 print_r($f2);
 
 $matriz = array();
 array_push($matriz, "");
 array_push($matriz, $f1);
 array_push($matriz, $f2);
  echo '<br>';
 print_r($matriz);
// $rta = gaussJordan(2, $matriz);
// echo "<br> el resultado es ".$rta;
//-189 = 9B
//0 9 189
// $result = $posicionApoyo[$i] . substr($reacciones, $i, $i)
echo '<br>' . gaussJordan(2 , $matriz);
echo '<br>' . calcularArea(1,5);

}else{
    require '../frm/FrmDatosGauss.php';
}
?>
